package com.chenyuxin.ilp.service.file;

import com.chenyuxin.ilp.model.dto.file.CreateFolderDto;
import com.chenyuxin.ilp.model.dto.file.RenameFolderDto;
import com.chenyuxin.ilp.model.pojo.Result;

public interface FolderService {
    /**
     * 创建文件夹
     * @param userId 用户id
     * @param createFolderDto 创建文件夹所需参数
     * @return result
     */
    Result createFolder(String userId, CreateFolderDto createFolderDto);

    /**
     * 删除文件夹
     * @param userId 用户id
     * @param folderId 文件夹id
     * @return result
     */
    Result deleteFolder(String userId, Long folderId);

    /**
     * 查询用户根节点文件夹
     * @param userId 用户id
     * @return 用户的根节点id
     */
    Result selectRootFolder(String userId);

    /**
     * 重命名文件夹
     * @param userId 用户id
     * @param renameFolderDto 修改文件夹名称所需参数
     * @return result
     */
    Result renameFolder(String userId,RenameFolderDto renameFolderDto);

    /**
     * 修改文件夹公开权限
     * @param folderId 文件夹id
     * @param isOpen 权限  0:不共享 1:共享可预览 2:共享可预览下载
     * @param userId 用户id
     */
    Result changeFolderOpen(Long folderId, Integer isOpen, String userId);
}
